The present invention relates to networks, and more particularly to controlling congestion in ATM switches in networks.
Since an ATM switch may be unable to transmit a cell to a downstream station before another cell arrives, the switch queues arriving cells. When the queue fills the entire memory allocated for the queue, the incoming cells are discarded.
Some ATM switches have a separate queue for each output port or sub-port and/or for each priority. For example, some switches have 32 ports; for each port, four queues are maintained for respective four different priorities. The total number of queues is thus 32*4=128. In some switches, each queue is kept in a separate memory. In other switches, a shared memory is used for all the queues. A shared memory allows any given queue to take more than its proportionate share of the memory provided one or more other queues take less memory than their proportionate share. However, a long queue can take the whole shared memory, leaving no room for other queues. To reduce such a possibility, the number of cells in any given queue is limited by a threshold. If the number of cells in a given queue exceeds the threshold, the arriving cells destined for the queue become subject to a congestion reduction action; for example, the arriving cells are discarded, or cells are transmitted with an overload indication.
It is desirable to find alternative circuits and methods for handling the switch congestion.